/**
 * 文本处理相关类型定义
 */

// 选中文本的相关信息
export interface SelectedTextInfo {
    text: string;           // 选中的文本内容
    startPosition: number;  // 起始位置
    endPosition: number;    // 结束位置
    sourceId: string;       // 来源ID（对应小说章节ID）
    timestamp: number;      // 选择时间戳
    startLine?: number;     // 开始行号
    endLine?: number;       // 结束行号
    type: 'text' | 'code';   // 区分文本和代码
    // 兼容旧版本定义
    position?: {
        start: number;
        end: number;
    };
    // 选中文本的上下文
    context?: {
        before: string;
        after: string;
    };
    // 兼容旧版本
    contextBefore?: string;
    contextAfter?: string;
}

// 文本润色类型
export type PolishType = 'enhance' | 'rewrite' | 'simplify' | 'expand' | 'summarize' | 'polish';

// 文本分段类型
export interface TextSegment {
    id: string;
    text: string;
    type: 'paragraph' | 'heading' | 'list' | 'quote' | 'code';
    level?: number; // 用于标题层级
}

// 文本统计信息
export interface TextStats {
    characters: number;
    words: number;
    sentences: number;
    paragraphs: number;
    readingTime: number; // 阅读时间（分钟）
}

// 文本标记类型
export interface TextMark {
    id: string;
    type: 'highlight' | 'comment' | 'revision';
    position: {
        start: number;
        end: number;
    };
    content?: string; // 用于注释内容
    color?: string;   // 用于高亮颜色
    createdAt: Date;
    updatedAt?: Date;
}

// 文本分析结果
export interface TextAnalysisResult {
    stats: TextStats;
    sentiment?: number; // 情感分析得分 (-1 到 1)
    readability?: number; // 可读性评分
    suggestions?: Array<{
        type: string;
        position: {
            start: number;
            end: number;
        };
        message: string;
        replacements?: string[];
    }>;
} 